//
// Created by 谢哲 on 2021/5/13.
//

#include <iostream>
#include <vector>
#include <algorithm>
#include <iomanip>
using namespace std;

int main() {
    int N, T;
    cin >> N >> T;
    vector<pair<int, int>> vdata;

    for (int i=0; i<N; ++i) {
        int a, b;
        cin >> a >> b;
        vdata.emplace_back(make_pair(a, b));
    }

    sort(vdata.begin(), vdata.end(), [](const pair<int,int>& a, const pair<int,int>& b) {
       double v1 = (double)a.second / (double)a.first;
       double v2 = (double)b.second / (double)b.first;
       return v1 > v2;
    });

    double ans = 0.0;
    for (auto p: vdata) {
        if (p.first > T) {
            ans += (double)T / (double)p.first * (double)p.second;
            break;
        }
        ans += p.second;
        T -= p.first;
    }

    cout << fixed << setprecision(2) << ans;

    return 0;
}